Statistical and Algorithmic Approaches to Matching Bullets

Eric Riemer Hare

Statistical and Algorithmic Approaches to Matching Bullets








Eric Hare, Heike Hofmann, Alicia Carriquiry
Iowa State University
April 14th, 2017

Background

Goal

Bullet Surfaces

Current Practice

2009 NAS report: “much forensic evidence – including, for example, bite marks and firearm and toolmark identification is introduced in criminal trials without any meaningful scientific validation, determination of error rates, or reliability testing.” (National Research Council 2009)

PCAST Report

From a September 2016 report by the President’s Council of Advisors on Science and Technology (PCAST) titled Forensic Science in Criminal Courts: Ensuring Scientific Validity of Feature-Comparison Methods (Advisors on Science and Technology 2016):

A second—and more important—direction is (as with latent print analysis) 
to convert firearms analysis from a subjective method to an objective 
method. This would involve developing and testing image-analysis 
algorithms for comparing the similarity of tool marks on bullets. [...] 
In a recent study, researchers used images from an earlier study to 
develop a computer-assisted approach to match bullets that minimizes 
human input [338].

338: Hare, E., Hofmann, H., and A. Carriquiry. “Automatic matching of bullet lands.” Unpublished paper, available at: arxiv.org/pdf/1601.05788v2.pdf.

Automatic Matching of Bullet Lands

Our Approach

The key to this approach is the reference database

James Hamby Study

plot3D.x3p.file(read_x3p("/Users/heike/papers/dissertations/eric-dissertation/images/Hamby (2009) Barrel/bullets/Br1 Bullet 1-5.x3p"),
                plot.type = "surface")

Data Format

Front-End Web Application

https://isu-csafe.stat.iastate.edu/shiny/bulletr/

Step One: Extract a Profile

We need to choose a location (height) of the bullet at which to extract a profile. To do so, we optimize the CCF (T. Vorburger et al. 2011):

  1. Extract a profile near the base of the bullet, call this value \(d_0\).
  2. Take a fixed step \(d\) and extract at \(d + d_0\).
  3. Check the maximum CCF between the signature at \(d_0\) and at \(d + d_0\).
  4. If this CCF exceeds a threshold \(c\), choose \(d_0\) as the signature
  5. Otherwise, repeat steps 2 to 4 for \(d\), \(2d\), \(3d\), … until the threshold is achieved.
  6. If the threshold is not achieved, flag the land for further investigation.

Parameters: \(d = 25\mu m, d_0 = 25\mu m, c = 0.9\)

Step One (Continued)

br111 <- get_crosscut("images/Br1 Bullet 1-5.x3p", x = 243.75)

qplot(y, value, data = br111) + theme_bw()

Step Two: Remove Shoulders

The striations that identify a bullet to a gun barrel are located in the land impression areas (Xie et al. 2009).

  1. At a fixed height \(x\) extract a bullet’s profile (previous figure).
  2. For each \(y\) value, smooth out deviations near the shoulders by applying a rolling average with a pre-set smoothing factor (rolling window) \(s\).
  3. For each smoothed \(y\) value, repeat step two.
  4. Determine the location of the peak of the shoulders by finding the first and last doubly-smoothed value \(y_i\) that is the maximum within its smoothing window.

Parameters: \(s = 35\mu m\)

Identifying Shoulders (Easy)

br111.groove <- get_grooves(br111)
br111.groove$plot

Identifying Shoulders (Challenging)

br116 <- "/Users/heike/papers/dissertations/eric-dissertation/images/Hamby (2009) Barrel/bullets/Br1 Bullet 1-6.x3p"
result2 <- get_grooves(get_crosscut(br116))
result2$plot

Step Three: Fit Loess Regression

Local weighted scatterplot smoothing (Cleveland 1979) - Fits a low-degree polynomial to a small subset of the data, weighting values near the point to be estimated more strongly.

br111.loess <- fit_loess(br111, br111.groove)
br111.loess$fitted

Step Four: Get the Residuals

Deviations from the loess fit should represent the imperfections (striations) on the bullet. Hence, we extract the residuals from the model.

br111.loess$resid

Step Five: Peaks and Valleys

As with detecting the shoulders, we can smooth the deviations and compute derivatives to identify peaks and valleys in the signature.

br111.peaks <- get_peaks(br111.loess$data)
br111.peaks$plot

Step Six: Bullet Alignment

The previous five steps are performed for each bullet land. But now we wish to extract features for cross comparisons of bullet lands.

Step Six (Continued)

Step Six: Extract Features

Features are extracted from each land-to-land comparison:

More Features

Distribution of Features

Step Seven: Random Forest

Feature Importance



Degraded Bullets

Feature Standardization

To begin to tackle the degraded bullet problem, we need to standardize features by the length of the recovered land.

Matches = 27, Matches per mm = 14.72

True Degraded Case

By standardizing the features, we don’t penalize the degraded case as in the first revision of our algorithm:

Matches = 8, Matches per mm = 11.42

Standardized Features

Roughness Correlation

Our algorithm had trouble in scenarios where large deformations in the two aligned signatures yielded a high CCF, when in fact the two land were not matches.

We fit a new loess fit to the average of the two signatures, and subtract the resulting fit from the original signatures - This models the “roughness” of the bullet land while removing the “waviness”

Roughness Correlation (Continued)

CCF: 0.7724
Roughness Correlation: -0.0324

Roughness Correlation (Typical)

In the typical case of no major deformations, the roughness correlation remains similar to the CCF and the resulting profiles don’t change much:

CCF: 0.6891
Roughness Correlation: 0.7980

Roughness Correlation Distributions

Degraded Bullets

Simulation Study:

  1. Three types of Degradation:
    1. Left Fixed - The left portion of the land (leading shoulder) is recoverable.
    2. Middle Fixed - The middle portion of the land is recoverable.
    3. Right Fixed - The right portion of the land (trailing shoulder) is recoverable.
  2. Six Degradation Levels: 100% (Fully recovered), 87.5% Recovered, 75% Recovered, 62.5% Recovered, 50% Recovered, 25% Recovered.

Simulation Results

Feature Expression

Testing this Finding

To come full circle, we will attempt to extract a 50% degraded signature from a Hamby bullet land with band tank rash in one half. (Barrel 9 Bullet 2 Land 4):

Br924 Results

Extracting the ideal signature and then simulating a left-fixed 50% degradation scenario yields the following:

Future Work

Reference Database

By far the biggest limitation of these algorithms thus far is the limited amount of available 3D scan data for bullets:

11 unique gun barrels is not yet enough to form a true reference distribution for known matches and non-matches…

…However, the structure of the database means that as soon as new data is available, the features and scores can be easily recomputed.

Parameter Optimization

Some work has been done to optimize the parameter choices (smoothing factor, optimal cross-section, etc.) But there are number of parameters which were chosen without cross-validation:

  1. The CCF cut-off for the ideal cross section (.9)
  2. The location to start the search for the ideal cross section (25 micrometers)
  3. The roughness correlation LOESS span (.3)

Further, the parameters we did optimize were chosen to be globally optimal rather than for each individual land or cross-comparison of lands. This was done for computational efficiency.

Thank You

Special thanks to Alan Zheng at the National Institute of Standards and Technology for maintaining the NIST Ballistics Toolmark Research Database and providing many useful suggestions for our algorithm.

Any Questions?






Advisors on Science, President’s Council of, and Technology. 2016. “Report on Forensic Science in Criminal Courts: Ensuring Scientific Validity of Feature-Comparison Methods.” https://www.whitehouse.gov/sites/default/files/microsites/ostp/PCAST/pcast_forensic_science_report_final.pdf.

Biasotti, Alfred A. 1959. “A Statistical Study of the Individual Characteristics of Fired Bullets.” Journal of Forensic Sciences 4 (1): 34–50.

Chu, Wei, Robert M Thompson, John Song, and Theodore V Vorburger. 2013. “Automatic identification of bullet signatures based on consecutive matching striae (CMS) criteria.” Forensic Science International 231 (1–3): 137–41.

Clarkson, James A, and C Raymond Adams. 1933. “On Definitions of Bounded Variation for Functions of Two Variables.” Transactions of the American Mathematical Society 35 (4). JSTOR: 824–54.

Cleveland, William S. 1979. “Robust Locally Weighted Regression and Smoothing Scatterplots.” Journal of the American Statistical Association 74 (368). Taylor & Francis, Ltd.: 829–36. http://www.jstor.org/stable/2286407.

Giannelli, Paul C. 2011. “Ballistics Evidence Under Fire.” Criminal Justice 25 (4): 50–51.

Hamby, James E., David J. Brundage, and James W. Thorpe. 2009. “The Identification of Bullets Fired from 10 Consecutively Rifled 9mm Ruger Pistol Barrels: A Research Project Involving 507 Participants from 20 Countries.” AFTE Journal 41 (2): 99–110.

Hofmann, Heike, and Eric Hare. 2016. Bulletr: Algorithms for Matching Bullet Lands.

National Research Council. 2009. Strengthening Forensic Science in the United States: A Path Forward. Washington, DC: The National Academies Press. doi:10.17226/12589.

Nichols, Ronald G. 2003. “Consecutive Matching Striations (CMS): Its Definition, Study and Application in the Discipline of Firearms and Tool Mark Identification.” AFTE Journal 35 (3): 298–306.

OpenFMC. 2014. X3pr: Read/Write Functionality for X3p Surface Metrology Format.

Vorburger, T.V., J.-F. Song, W. Chu, L. Ma, S.H. Bui, A. Zheng, and T.B. Renegar. 2011. “Applications of Cross-Correlation Functions.” Wear 271 (3–4): 529–33. doi:http://dx.doi.org/10.1016/j.wear.2010.03.030.

Xie, F., S. Xiao, L. Blunt, W. Zeng, and X. Jiang. 2009. “Automated Bullet-Identification System Based on Surface Topography Techniques.” Wear 266 (5–6): 518–22. doi:http://dx.doi.org/10.1016/j.wear.2008.04.081.